﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using planerka.DataAccess.Models;
using System.Web.Mvc;
using NLog;
using System.Web.Configuration;

namespace planerka.DataAccess.DataService
{
    public class PageService
    {
        private static Logger logger = LogManager.GetCurrentClassLogger();

        // получить контент по URL категории и URL страницы
        public static string getPageContent(string pageCategoryURL, string pageURL)
        {
            string html = "";
            //var db = new linq2sqlDataContext(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());

            _Repository<page> pageRepo = new _Repository<page>();
            page _page = pageRepo.All().Where(p => p.pageCategory.tag == pageCategoryURL && p.URL == pageURL).FirstOrDefault();
            if (_page != null)
                html = _page.HTML_text;

            return html;
        }

        // получить список страниц в категории
        public static List<page> getPagesInCategory(string pageCategoryURL)
        {
            //var db = new linq2sqlDataContext(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
            _Repository<page> pageRepo = new _Repository<page>();
            return pageRepo.All().Where(p => p.pageCategory.tag == pageCategoryURL).ToList();
        }

        //// сделать замены в тексте
        //public string doReplacements
        //    (string templateString,
        //    List<string> replacements /* {1} {2} {3} */)
        //{
        //    int counter = 0;
        //    foreach (var _item in replacements)
        //    {
        //        counter++;
        //        templateString = templateString.Replace("{" + counter + "}", _item);
                
        //    }

        //    return templateString;
        //}

        // получить шаблон
        public page getPage(string URL)
        {
            _Repository<page> pageRepo = new _Repository<page>();
            return pageRepo.FindAll(p => p.URL.ToLower() == URL.ToLower()).FirstOrDefault();

            
        }

        //// получить анонс
        //public string getPageAnnounce(string URL)
        //{
        //    _Repository<page> pageRepo = new _Repository<page>();
        //    page _page = pageRepo.FindAll(p => p.URL.ToLower() == URL.ToLower()).FirstOrDefault();

        //    return _page != null ? _page.HTML_announce : "";
        //}

    }
}
